﻿//===================================================================================
// Copyright (c) Ryan Garrett.  All rights reserved.
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY
// OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
// LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
// FITNESS FOR A PARTICULAR PURPOSE.
//===================================================================================

using System;

namespace Caffeine.Core.Test.TestModel
{
    public class ModelForPropertySyncTestingB : ModelBase
    {
        private readonly ModelProperty<ModelForPropertySyncTestingB> _property1;
        private readonly ModelProperty<ModelForPropertySyncTestingB> _property2;
        private readonly ModelProperty<Object> _property3;
        private readonly ModelProperty<Object> _property4;

        public ModelForPropertySyncTestingB()
        {
            _property1 = RegisterProperty<ModelForPropertySyncTestingB>("Property1");
            _property2 = RegisterProperty<ModelForPropertySyncTestingB>("Property2");
            _property3 = RegisterProperty<Object>("Property3");
            _property4 = RegisterProperty<Object>("Property4");
        }

        public ModelProperty<ModelForPropertySyncTestingB> Property1
        {
            get
            {
                return _property1;
            }
        }

        public ModelProperty<ModelForPropertySyncTestingB> Property2
        {
            get
            {
                return _property2;
            }
        }

        public ModelProperty<Object> Property3
        {
            get
            {
                return _property3;
            }
        }

        public ModelProperty<Object> Property4
        {
            get
            {
                return _property4;
            }
        }
    }
}
